package com.ucode.model.hrm;

import com.ucode.model.hrm.enums.HrmSalaryTypeEnum;
import com.ucode.tool.base.BaseTenantMode;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.List;

/**
 * 招聘岗位
 * @Author: Administrator
 * @Date: 2025/5/21 15:47
 * @Version: 1.0
 */
@Schema(description = "人力资源管理系统 - 招聘岗位")
@Data
@EqualsAndHashCode
@ToString(callSuper = true)
public class HrmJobPost extends BaseTenantMode<Long,Long> {

    /**
     * 关联客户公司
     */
    private Long customerCompanyId;
    /**
     * 关联客户项目
     */
    private Long customerProjectId;

    /**
     * 标题
     */
    private String title;
    /**
     * 就职公司简述
     */
    private String companyBrief;

    // 薪资信息
    /**
     * 薪资类型
     * @see HrmSalaryTypeEnum
     */
    private Integer salaryType;
    /**
     * 薪资范围-最低薪资
     */
    private Integer salaryMin;
    /**
     * 薪资范围-最高薪资
     */
    private Integer salaryMax;
    /**
     * 薪资单位
     * @see com.ucode.model.hrm.enums.HrmSalaryUnitEnum
     */
    private Integer salaryUnit;

    // 工作地点
    /**
     * 省份
     */
    private  Long province;
    /**
     * 城市
     */
    private Long city;
    /**
     * 地区
     */
    private Long area;
    /**
     * 工作地点
     */
    private String workAddress;
    /**
     * 是否远程
     */
    private Boolean isRemote;
    /**
     * 是否急聘【新增】
     */
    private Boolean isHot;
    /**
     * 经验要求
     */
    private String experience;
    /**
     * 学历要求
     * @see com.ucode.tool.base.enums.EducationLevelEnum
     */
    private Integer education;
    /**
     * 职位类型
     * @see com.ucode.model.hrm.enums.HrmJobTypeEnum
     */
    private Integer jobType;

    /**
     * 技能标签【新增】
     */
    private List<String> tags;

    // 详细信息
    private String description;
    /**
     * ONLINE("上线"),
     *         OFFLINE("下线"),
     *         FILLED("已招满");
     */
    private Integer status;
}
